﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Dominio;
using Log4Net;

namespace HotelGUI
{
    public partial class ConsultaLogs : Form
    {
        private ILog log = FactoryLogs.getLogInstance();
        private ISistema sistema = Fabrica.getSistema();

        public ConsultaLogs()
        {
            InitializeComponent();
        }

        private void ConsultaLogs_Load(object sender, EventArgs e)
        {
            fechaDesde.Value = DateTime.Now;
            fechaHasta.Value = DateTime.Now;
        }

        private void Consultar_Click(object sender, EventArgs e)
        {
            try
            {
                lvUsuarios.Items.Clear();
                List<string[]> lst = new List<string[]>();
                //int idUsuario = -1;
                //string Clasificacion = "";
                //string Accion = "";
                //if (cmbUsuario.SelectedValue != null)
                //    idUsuario = sistema.obtenerIdUsuario(cmbUsuario.SelectedValue.ToString().Trim());
                //if (cmbClasificacion.SelectedValue != null)
                //    Clasificacion = cmbClasificacion.SelectedValue.ToString();
                //if (txtAccion.Text.Trim() != "")
                //    Accion = txtAccion.Text.Trim();
                if (fechaDesde != null)
                {
                    lst = log.consultarLog(fechaDesde.Value);
                    foreach (string[] l in lst)
                    {
                        string nombreUser = obtenerNombreUsuario(int.Parse(l[1]));
                        ListViewItem item = lvUsuarios.Items.Add(nombreUser);
                        item.SubItems.Add(l[1]);
                        item.SubItems.Add(l[2]);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private string obtenerNombreUsuario(int idUser)
        {
            try
            {
            
                foreach (string[] user in sistema.obtenerUsuarios())
                {
                    if (int.Parse(user[0]) == idUser)
                    {
                        return user[3];
                    }
                }
                throw new Exception("No se encuentra el usuario");
            }
            catch(Exception ex)
            {
                throw ex;
            }
        }


    }
}
